home *** CD-ROM | disk | FTP | other *** search
/ The X-Philes (2nd Revision) / The X-Philes Number 1 (1995).iso / xphiles / hp48_2 / hprpldev.tar / sload.doc < prev    next >
Text File  |  1991-07-12  |  11KB  |  397 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.                     Instructions for MS-DOS program "SLOAD"
  9.  
  10.        *****************************************************************
  11.                                      NOTICE
  12.  
  13.        Hewlett-Packard is making version 1.56 of SLOAD.EXE available to
  14.        customers free of charge to help them in HP 48SX application
  15.        development, under the following conditions:
  16.  
  17.  
  18.        *  The program SLOAD.EXE and the documentation file SLOAD.MAN are
  19.           provided "as is," and are subject to change without notice.
  20.           Hewlett-Packard Company make no warranty of any kind with
  21.           regard to the software or documentation, including, but not
  22.           limited to, the implied warranties of merchantability and
  23.           fitness for a particular purpose.  Hewlett-Packard Company
  24.           shall not be liable for any error or for incidental or
  25.           consequential damages in connection with the furnishing,
  26.           performance, or use of this software and documentation.
  27.  
  28.  
  29.        *  The program and documentation are copyrighted by Hewlett-
  30.           Packard.  Customers may freely reproduce and distribute this
  31.           material.  Sale of this material is prohibited without prior
  32.           written permission of Hewlett-Packard Company.
  33.  
  34.  
  35.        *  The HP Customer Support department does not support SLOAD.
  36.           Questions, comments, defect reports, etc. should be directed to
  37.           the Library Development conference on the HP Calculator
  38.           Bulletin Board System.  All responses from Hewlett-Packard will
  39.           normally be provided through that conference.
  40.  
  41.  
  42.        *  Software generated by SLOAD.EXE should be tested and qualified
  43.           in its final form.
  44.  
  45.        Revised versions of the software and documentation will be posted
  46.        on the Bulletin Board as they become available.
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.                                    -1-
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.        1.  SLOAD - Saturn Linker
  75.  
  76.  
  77.        SLOAD combines several object files into a single object file.  It
  78.        resolves all references that it knows how to before outputing the
  79.        file.  It uses a command file to decide which files to link, what
  80.        order, at what address and allows many options for cross-reference
  81.        tables and other forms of listings.
  82.  
  83.        The Saturn Linker/Loader is invoked as follows:
  84.  
  85.            sload [ - options <parameters> ] <command-file>
  86.  
  87.        SLOAD recognizes the following options:
  88.  
  89.          -D <symb>[=<addr>]
  90.                Defines <symb> to be a value (default=1). For example,
  91.                -D~Fred=1000 would set the value for the symbol Fred to
  92.                1000 decimal.
  93.  
  94.          -H    Forces SLOAD to code only, with no symbols or references.
  95.  
  96.          -f    Allows setting of conditional load flags (only the first
  97.                two letters of each flag are significant).
  98.  
  99.          -l    A listing file is specified. If this option is not used,
  100.                then stdout will be the listing file.
  101.  
  102.          -m -M Specifies a file other than stdout for messages (not the
  103.                listing file).
  104.  
  105.          -o <outfile>
  106.                Write the object file to <outfile>.
  107.  
  108.          -p <pagelength>
  109.                Specifies the pagelength for the listing file (default
  110.                60).
  111.  
  112.          -w <pagewidth>
  113.                Specifies the pagewidth for the listing file (default 80).
  114.  
  115.        SLOAD accepts two letter commands from the input file. All
  116.        characters following the first two are ignored. Certain commands
  117.        require parameters.  An asterisk may be used in place of a hex
  118.        address to mean the address of the next available location.
  119.        Parameters may be separated by either a comma or a space.  The
  120.        HElp command provides a list of commands and their parameters.
  121.        The following are the recognized commands and a description of
  122.        their function.  The commands may be entered in upper or lower
  123.        case.
  124.  
  125.  
  126.  
  127.  
  128.                                    -2-
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140.        ABort   Aborts the Saturn Loader.  No files are modified.
  141.  
  142.        BOundary <Hex addr> Allows the user to specify a boundary for
  143.                locating start of next module.  The next module will start
  144.                at an address which is a multiple to the specified
  145.                address.  Note that address 0 is a multiple of any number.
  146.  
  147.        CHecksum <Symbol name> <Hex addr> <Hex addr>
  148.                Specifies that a one byte checksum value should be
  149.                computed between the specified addresses and filled in at
  150.                the location of the specified symbol.
  151.  
  152.        CRc <Hex addr> <Hex num> <Hex num> <Hex num>
  153.                Specifies that a 4 nibble CRC value should be computed
  154.                according to the specified values and patched in at an
  155.                address determined from these values.  The first parameter
  156.                specifies where to start the CRC computation, the second
  157.                parameter specifies the offset between reads, the third
  158.                specifies the number of reads per half-sector and the last
  159.                parameter specifies the number of sectors.  See
  160.                appropriate ROM documentation for more information on CRC
  161.                computation.
  162.  
  163.        DEfine <Symbol name> <Hex addr>
  164.                Allows the user to define a symbol that is otherwise
  165.                unresolved.
  166.  
  167.        ENd [ <End Option> ]
  168.                Terminates command entry mode.  End option may be either
  169.                of:
  170.  
  171.                NOresolverefs  Don't resolve external references.
  172.  
  173.                REsolverefs    Resolve external references.
  174.  
  175.                If no option is specified the default is RE. References
  176.                will be resolved if not suppressed by NOresolve option.
  177.                SLOAD will then provide listings and output modules as
  178.                specified in command mode.
  179.  
  180.        FLag <Flag name> Set flag name specified.
  181.  
  182.        FOrce   Sets a flag that will allow user to force SLOAD to perform
  183.                certain commands that would normally cause errors. Use
  184.                carefully.
  185.  
  186.        HElp    Provides a list of commands as well as certain information
  187.                about the limits of current revision of the program.
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.                                    -3-
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.        IF <NOt>* <Flag name> <Command line>
  207.                May precede any command line (including another IF
  208.                command). NOt's complement value test. If test is true
  209.                then command line is executed as if no IF statement was
  210.                there. If test is false, then the rest of the line if
  211.                ignored.
  212.  
  213.        LIst <List option list>
  214.                Specifies one or more items to list as load is completed.
  215.                List items may be turned on and off at any time during
  216.                command mode with the final settings prevailing.  (See
  217.                SUppress command).  Default list items are SUmmary,
  218.                UNresolved and XRef. Any of the following are accepted:
  219.  
  220.                ALl                 List everything.
  221.  
  222.                COde                List hex dump of output module.
  223.  
  224.                ENtries             List entry points.
  225.  
  226.                LXref               List long cross-reference.
  227.  
  228.                REferences          List long cross-reference by module.
  229.  
  230.                SUmmary             List a summary of modules.
  231.  
  232.                UNresolvedRefs      List all unresolved references.
  233.  
  234.                XRef                List short cross-reference.
  235.  
  236.  
  237.        LLu <File spec>
  238.                Change listing device.  May list to a file or a device.
  239.  
  240.        LOcate <Hex addr>
  241.                Specifies the address at which to locate the next module.
  242.                This may be used to overlap modules if desired.
  243.  
  244.        NExt    Displays address where next nibble of code would be loaded
  245.                if RElocate command is used.
  246.  
  247.        OPtion <Option list> Specifies type of module to output:
  248.  
  249.                COde           Output code (no symbols or references).
  250.  
  251.                SYmbols        Output symbol definitions only (no code or
  252.                               references).
  253.  
  254.                RElocatable    (Default) Output code symbols and
  255.                               references.
  256.  
  257.  
  258.  
  259.  
  260.                                    -4-
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.        OUtput <File spec>
  273.                Specify name of file to output.
  274.  
  275.        PAtch <Hex addr>  <Hex nibble>*
  276.                Patch code at address specified to have the value
  277.                specified by the string of hex nibbles.  Zero or more hex
  278.                nibbles may be specified.  SLOAD displays sixteen nibbles
  279.                starting at the address specified, hence PAtch may be used
  280.                to examine memory.  Note that external references are
  281.                filled in following exit of command mode an may thus write
  282.                over any patchs made. ENd NOresolverefs may be used to
  283.                prevent this.
  284.  
  285.        RAnge <Symbol name> <Hex addr> <Hex addr>
  286.                Check whether symbol specified is in the range specified
  287.                and reports an error if it is not.
  288.  
  289.        RElocate <File spec>
  290.                Specify name of file to relocate.  If no BOundary or
  291.                LOcate command has been specified then the module is put
  292.                at the first available nibble.  (See NExt command)
  293.  
  294.        SEarch <File spec>
  295.                Same as relocate except only symbol definitions are
  296.                accepted. No references or code are read in.
  297.  
  298.        SOftkey <File spec>
  299.                Allow user to specify a softkey file to be read in when
  300.                output module is read into software or hardware simulator.
  301.                (This feature is not currently implemented by simulator.)
  302.  
  303.        STart <Hex addr>
  304.                May be used before any code is read in.  Specifies
  305.                starting address of output file.  If not specified the
  306.                start address will be 00000.  Note that output module will
  307.                have a length of the highest address minus this starting
  308.                address (minus one).
  309.  
  310.        SUppress <List Option list>
  311.                Similar to LIst command but suppresses list items.
  312.  
  313.        TItle   Allows the user to specify a title for the output module.
  314.  
  315.        TRansfer <File spec>
  316.                Changes the device used for command input.
  317.  
  318.        UDefine <Symbol name>*
  319.                Causes the specified symbol(s) to be undefined.  This has
  320.                no effect on references to the symbol.  No error is given
  321.                if the symbol doesn't previously exist.
  322.  
  323.  
  324.  
  325.  
  326.                                    -5-
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338.        UNresolved <Symbol name>
  339.                Allows the user to specify a symbol whose value is used to
  340.                fill in all references which are otherwise unresolved.
  341.  
  342.        ZEro <Hex addr> <Hex addr>
  343.                Sets code nibbles to zero from first address to second
  344.                address.  Memory is not automatically zeroed when SLOAD
  345.                starts and thus has an undefined pattern.
  346.  
  347.        ** <Comment>
  348.                Comment line. Characters after ** are ignored.
  349.  
  350.  
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.                                    -6-
  393.  
  394.  
  395.  
  396.  
  397.